The present invention relates to computer aided software development, and in particular to a method, and apparatus, for generating software specifications suitable for software maintenance.
A method generally used for software development comprises the steps of defining the function of the software to be developed, defining stepwise details of the software realizing the function to advance the design, and, finally, generating the program.
The result of the design is described as design specification per particularization step. In general, a specification particularizing each element (item) of a specification generated at a step is generated at the succeeding design step.
In order to generate these specifications and programs efficiently, development aiding tools such as various specification editors and program editors have been developed.
These methods are described in "Soft EAGLE 2 for automatically generating system flow", Nikkei Computer, Jul. 7, 1986, pp. 121 to 136, for example.
The prior art is effective when software is newly developed. However, the following problems occur when the software developed by using the prior art is subject to maintenance. When software specifications are altered, contents of descriptions in a high rank specification generated at an early stage may disagree with those of software products (such as programs, job control languages and low rank specifications) generated by particularizing the high rank specification. In this case, the specification does not represent contents of the actual program and job control language (hereinafter referred to as JCL), resulting in difficulty of maintenance.
Therefore, an example of the prior art relating to software maintenance is described in JP-A-62-84337. In this case, information of specifications generated at respective design stages of software design is stored in a data base. By comparing information included in respective specifications with each other on the basis of the data base, contradiction between information pieces contained in respective specifications is detected. Further, when information of a common item contained in a certain specification is altered, the altered common item is altered successively in relating specifications on the basis of the data base.
When this method is used, however, specifications ranked higher at the time when the specifications are generated cannot be amended. If information of specifications is further amended under this state, there is a fear that disagreement between a high rank specification and a low rank specification may be expanded.
In the above described prior art as well, the software maintenance work thus remains inefficient.